#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Author  : lkm

"""
    判断西藏、上海、广东属于什么类别的消费类型。
"""

# 第一步：导入相关模块
import warnings
import pandas as pd
from sklearn import svm
from sklearn.metrics import classification_report

# 为了输出结果美观，忽略警告
warnings.filterwarnings('ignore')

# 导入数据，自定义列名，设置列分隔符
data = pd.read_csv(r"fenlei.txt", names=['x1','x2','x3','x4','x5','x6','x7','x8'], sep='\t')

# 数据处理
data_1 = data.iloc[:20, :] # 第一类自变量
data_1['y'] = 1 # 设置第一类的因变量
data_2 = data.iloc[20:27, :] # 第二类自变量
data_2['y'] = 2 # 设置第二类的因变量
x0 = data.iloc[27:, :] # 待测试的数据集

# 重组训练数据集
data = pd.concat([data_1, data_2], ignore_index=True)

# 划分自变量与因变量
x, y = data.iloc[:, :8], data.iloc[:, 8]

# 调用模型
clf = svm.SVC(gamma='scale')
clf.fit(x, y) # 模型拟合

# 预测待测试的数据集，返回一个数组表示个测试样本的类别
y0 = clf.predict(x0)
print(y0) # 查看预测结果

# 检验模型
pre_y = clf.predict(x)
report = classification_report(y, pre_y)
print(report)